home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / mus / midi / midiplay230a.lha / MidiPlay / ARexx / Example3.rexx < prev    next >
OS/2 REXX Batch file  |  1994-10-09  |  1KB  |  54 lines

  1. /* This is an example ARexx script for use with MidiPlay.
  2.    Use the following parameter: FILETYPEREXX=ThisScript.rexx
  3.    When MidiPlay cannot load a file, because it is not a MIDI file,  it
  4.    calls ThisScript. Argument consists of drive, path, file and extension
  5.    of the filename.
  6.  
  7.    This particular example tries to unarchive a file with extension lha
  8.    to a directory ram:t/rxmidi. If unarchiving is succesful, the first .MID
  9.    file is played by sending command 'FILE first.MID' to MidiPlay.
  10.  
  11. */
  12.  
  13. lhadir = 'sys:archivers/'
  14.  
  15. options results
  16.  
  17. parse arg Drive ',' Path ',' File ',' Extension .
  18.  
  19. address command
  20.  
  21. if ~show('L',"rexxsupport.library") then do
  22.   if ~addlib('rexxsupport.library',0,-30,0) then
  23.     exit 10
  24. end
  25.  
  26. if ~exists('t:rxmidi') then
  27.   'makedir t:rxmidi'
  28.  
  29. if Path == "" then Path2 = Path
  30. else Path2 = Path || '/'
  31.  
  32. Whole = '"' || Drive || Path2 || File || '.' || Extension || '"'
  33.  
  34. "delete >nil: t:rxmidi/#?"
  35.  
  36. if Extension='lha' | Extension='LHA' then
  37.     lhadir'lha >nil: -x0 -q e 'Whole' t:rxmidi/'
  38. else     do
  39.        say 'Not a MIDI file' Whole
  40.        RETURN
  41.     end
  42.  
  43. dir1=showdir('t:rxmidi/','f','@')
  44. dir1=insert(dir1,'@')
  45. dir2=upper(dir1)
  46.  
  47. position=index(dir2,'.MID')
  48. position3=lastpos('@',dir2,position)
  49. position2=index(dir2,'.MID',position)
  50. filenam=substr(dir2,position3+1,(position2-position3)+3)
  51.  
  52. address "MidiPlay_rexx"
  53. 'FILE t:rxmidi/'filenam
  54.